home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1993-11-04 | 5.2 KB | 162 lines |
- (***********************************************************************
-
- :Program. Plotinit.def
- :Author. Stefan Köhle
- :Address. Erhardtstr. 10
- W-7033 Herrenberg
- :Phone. 07032/5146
- :shortcut.
- :Version. 1.0
- :Date. 23.11.92
- :Copyright. nix
- :Language. Modula-II.
- :Translator. M2Amiga 4.107d
- :Imports.
- :UpDate.
- :Contents.
- :Remark.
-
- **********************************************************************)
-
- DEFINITION MODULE PlotInit;
-
- FROM IntuitionD IMPORT ScreenPtr,WindowPtr,IntuiMessagePtr;
-
- FROM GraphicsD IMPORT LayerPtr,RastPortPtr ;
- FROM SYSTEM IMPORT FFP,ADDRESS ;
-
-
- (*-----------------------------------------------------------------------
-
- Alle wichtigen Variablen sind in der PlotBase organisiert. Das hat
- einerseits den Vorteil, daß diese nicht auf dem Stack liegen, da ich
- selber den Speicher dafür anfordere, andererseits kann ich den Proceduren
- aus externen Modulen leicht diese Variablen zugänglich machen, indem
- ich einfach den Zeiger auf die PlotBase übergebe.
-
- -----------------------------------------------------------------------*)
-
-
- TYPE
- Buffer= ARRAY[0..250] OF CHAR;
-
- Werte = RECORD
- XWert: INTEGER ;
- YWert: INTEGER ;
- END (* RECORD *) ;
- Tabelle = ARRAY [0..294] OF ARRAY [0..219] OF Werte ;
- (*
- TabelleKlein = ARRAY [0..102] OF ARRAY [0..75] OF Werte ;
- *)
- BeSchriftung = RECORD
- ZOben : FFP ;
- DeltaZ : FFP ;
- XLinks : FFP ;
- DeltaX : FFP ;
- YHinten: FFP ;
- DeltaY : FFP ;
- END (* RECORD *) ;
-
- AChsen = RECORD
- XNull: INTEGER ;
- YNull: INTEGER ;
- ZNull: INTEGER ;
- END ;
-
- PlotBasePtr = POINTER TO PlotBase ;
-
- PlotBase = RECORD
- Wert : Tabelle ;
- Screen : ScreenPtr ;
- Window : WindowPtr ;
- HelpWindow : WindowPtr ;
- Layer : LayerPtr ;
- Rp : RastPortPtr ;
- KastenX0 : INTEGER ;
- KastenY0 : INTEGER ;
- Raster : BOOLEAN ;
- Achsen : BOOLEAN ;
- Kasten : BOOLEAN ;
- Beschriftung : BOOLEAN ;
- Flaeche : BOOLEAN ;
- FSchreiben : BOOLEAN ;
- GrosseBitmap : BOOLEAN ;
- GrosserSpeicher : BOOLEAN ;
- fertig : BOOLEAN ;
- HelpVorhanden : BOOLEAN ;
- HelpVorne : BOOLEAN ;
- oldX : INTEGER ;
- oldY : INTEGER ;
- FaktorX : FFP ;
- FaktorY : FFP ;
- FaktorZ : FFP ;
- xmax : INTEGER ;
- ymax : INTEGER ;
- B : BeSchriftung ;
- A : AChsen ;
- Schritt : INTEGER ;
- ScreenHeight : INTEGER ;
- ScreenWidth : INTEGER ;
- BitMapHeight : CARDINAL ;
- BitMapWidth : CARDINAL ;
- LetzteFunktion : Buffer ;
- Funktion : Buffer ;
- FehlerNummer : CARDINAL ;
- Dir : ARRAY [0..130] OF CHAR ;
- DirFunktionen : ARRAY [0..130] OF CHAR ;
- DirBilder : ARRAY [0..130] OF CHAR ;
- OldDir : ARRAY [0..130] OF CHAR ;
- BildName : Buffer ;
- FunktionName : Buffer ;
- letzterName : Buffer ;
- END (* RECORD *) ;
-
-
- PROCEDURE Request(Text: ARRAY OF CHAR; GadgetText: ARRAY OF CHAR;
- Win: WindowPtr) ;
-
- PROCEDURE YesNoRequest(Text: ARRAY OF CHAR; GadgetText: ARRAY OF CHAR;
- Win: WindowPtr): BOOLEAN ;
-
- PROCEDURE StringRequest(VAR Pb: PlotBasePtr): BOOLEAN ;
-
- PROCEDURE SetUp(VAR Pb: PlotBasePtr): CARDINAL ;
-
- PROCEDURE CleanUp(VAR Pb: PlotBasePtr) ;
-
- PROCEDURE Speichern(VAR Pb: PlotBasePtr): BOOLEAN ;
-
- PROCEDURE Laden(VAR Pb: PlotBasePtr; Req: BOOLEAN): BOOLEAN ;
-
- PROCEDURE UpdateMenus(VAR Pb: PlotBasePtr; welches: CARDINAL) ;
-
- PROCEDURE FunktionHolen(VAR Pb: PlotBasePtr ; Disk: BOOLEAN; NeueFunktion:
- BOOLEAN): BOOLEAN ;
-
- PROCEDURE FunktionTesten(VAR Pb: PlotBasePtr):
- BOOLEAN ;
-
- PROCEDURE ArgTesten(VAR Pb: PlotBasePtr; Arg: BOOLEAN): BOOLEAN ;
-
- PROCEDURE UpdatePb(Pb: PlotBasePtr) ;
-
- PROCEDURE ScreenHoch(MyScreenPtr: ScreenPtr) ;
-
- PROCEDURE ScreenWeg(MyScreenPtr: ScreenPtr) ;
-
- PROCEDURE MenuNummer(code:CARDINAL):CARDINAL;
-
- PROCEDURE ItemNummer(code:CARDINAL):CARDINAL;
-
- PROCEDURE SubItemNummer(code: CARDINAL):CARDINAL ;
-
- PROCEDURE WelcheTaste(code: CARDINAL):CARDINAL ;
-
- PROCEDURE BildSpeichern(Pb: PlotBasePtr) ;
-
- PROCEDURE BildLaden(Pb: PlotBasePtr): INTEGER ;
-
- END PlotInit.def
-
-
-